/*
 * ENUM Discoverer. ENUM Demonstration software, demonstrating the potential of ENUM.
 * 
 * Copyright (C) 2009 SIDN and ISOC.nl
 * 
 * This file is part of ENUM Discoverer.
 *
 * ENUM Discoverer is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * ENUM Discoverer is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with ENUM Discoverer.  If not, see <http://www.gnu.org/licenses/>.
 */

package nl.sidn.enumdiscoverer;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;

import nl.sidn.enumdiscoverer.contacts.dao.Coords;

/**
 * Data structure for storing Contact details that can't be stored directly to Contacts
 * @author	Grant Patterson (grant.patterson@catalyst.net.nz)
 */
public class ExtendedContactData implements Serializable {
	
	private static final long serialVersionUID = 1744616132838696652L;
	
	private HashMap<Integer, String> mWebLinks = null;
	private Coords mLocation;
	private String mPublicKey;
	private Date mBirthday;
	private String mSIPAddress;
	private String mStatus;
	
	public void setWebLinks(HashMap<Integer, String> links) {
		mWebLinks = links;
	}
	
	public HashMap<Integer, String> getWebLinks() {
		// lazy initialisation when no web links
		if (mWebLinks == null) {
			mWebLinks = new HashMap<Integer, String>();
		}
		
		return mWebLinks;
	}
	
	public void setLocation(Coords location) {
		mLocation = location;
	}
	
	public Coords getLocation() {
		return mLocation;
	}
	
	public void setPublicKey(String key) {
		mPublicKey = key;
	}
	
	public String getPublicKey() {
		return mPublicKey;
	}
	
	public void setDateOfBirth(Date birthday) {
		mBirthday = birthday;
	}
	
	public Date getBirthday() {
		return mBirthday;
	}
	
	public void setSIPAddress(String address) {
		mSIPAddress = address;
	}
	
	public String getSIPAddress() {
		return mSIPAddress;
	}

	public void setStatus(String status) {
		mStatus = status;
	}

	public String getStatus() {
		return mStatus;
	}
	

}
